package com.devilvan.betrice.douban.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.devilvan.betrice.common.BasePo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.hibernate.annotations.DynamicInsert;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EntityListeners;
import javax.persistence.Table;
import java.io.Serial;
import java.io.Serializable;

/**
* @author Evad.Wu
* @Description 豆瓣-电影前250名排行榜表 映射
* @date 2022-12-16
*/
@Setter
@Getter
@ToString
@NoArgsConstructor
@Accessors(chain = true)
@TableName(value = "DOUBAN_MOVIE_TOP250")

@Entity
@Table(name = "DOUBAN_MOVIE_TOP250")
@DynamicInsert
@EntityListeners(AuditingEntityListener.class)
@Schema(description = "豆瓣-电影前250名排行榜表 映射")
public class DoubanMovieTop250Po extends BasePo implements Serializable {
    @Serial
    private static final long serialVersionUID = -1574517098997025913L;
    @Schema(description = "电影系统ID")
    @TableField(value = "PID")
    @Column(name = "PID", columnDefinition = "BIGINT(19) NOT NULL COMMENT '电影系统ID'")
    private Long pid;
    @Schema(description = "排名")
    @TableField(value = "MOVIE_RANK")
    @Column(name = "MOVIE_RANK", columnDefinition = "INT(10) COMMENT '排名'")
    private Integer movieRank;
    @Schema(description = "电影名称")
    @TableField(value = "NAME")
    @Column(name = "NAME", columnDefinition = "VARCHAR(128) NOT NULL COMMENT '电影名称'")
    private String name;
    @Schema(description = "电影别名")
    @TableField(value = "ALIAS_NAME")
    @Column(name = "ALIAS_NAME", columnDefinition = "VARCHAR(128) COMMENT '电影别名'")
    private String aliasName;
    @Schema(description = "详情页面")
    @TableField(value = "DETAIL_URL")
    @Column(name = "DETAIL_URL", columnDefinition = "TEXT(65,535) COMMENT '详情页面'")
    private String detailUrl;
    @Schema(description = "电影海报URL")
    @TableField(value = "IMG_URL")
    @Column(name = "IMG_URL", columnDefinition = "TEXT(65,535) COMMENT '电影海报URL'")
    private String imgUrl;
    @Schema(description = "上映时间")
    @TableField(value = "RELEASE_TIME")
    @Column(name = "RELEASE_TIME", columnDefinition = "VARCHAR(32) NOT NULL COMMENT '上映时间'")
    private String releaseTime;
    @Schema(description = "上映地区")
    @TableField(value = "RELEASE_DISTRICT")
    @Column(name = "RELEASE_DISTRICT", columnDefinition = "VARCHAR(128) COMMENT '上映地区'")
    private String releaseDistrict;
    @Schema(description = "电影类型")
    @TableField(value = "KINDS")
    @Column(name = "KINDS", columnDefinition = "VARCHAR(64) COMMENT '电影类型'")
    private String kinds;
    @Schema(description = "评分")
    @TableField(value = "GRADE")
    @Column(name = "GRADE", columnDefinition = "VARCHAR(4) COMMENT '评分'")
    private String grade;
    @Schema(description = "评论人数")
    @TableField(value = "COMMENT_SIZE")
    @Column(name = "COMMENT_SIZE", columnDefinition = "INT(10) COMMENT '评论人数'")
    private Integer commentSize;
    @Schema(description = "引用")
    @TableField(value = "QUOTE")
    @Column(name = "QUOTE", columnDefinition = "VARCHAR(128) COMMENT '引用'")
    private String quote;
}
